/**
 * Trabajo de Ingeniería de Software 2
 * Año 2008
 * Sistema de Reserva de Recursos.
 * Desarrolladores: - Marcelo Ferreira.
 *                  - Christian Gómez.
 *                  - Marcelo Rodas.
 */

package modelo;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * Clase Entidad PermisorolPK (JPA)
 * @author cgomez
 */
@Embeddable
public class PermisorolPK implements Serializable {
    @Column(name = "idRol", nullable = false)
    private int idRol;
    @Column(name = "idPermiso", nullable = false)
    private int idPermiso;

    /**
     * Crea una nueva instancia de PermisorolPK
     */     
    public PermisorolPK() {
    }

    /**
     * Crea una nueva instancia de PermisorolPK con valores especificos
     * @param idRol El idRol de PermisorolPK
     * @param idPermiso El idPermiso de PermisorolPK
     */
    public PermisorolPK(int idRol, int idPermiso) {
        this.idRol = idRol;
        this.idPermiso = idPermiso;
    }
    /**
     * Obtiene el idRol de PermisorolPK
     * @return El idRol de PermisorolPK
     */
    public int getIdRol() {
        return idRol;
    }
    /**
     * Fija el identificador idRol de PermisorolPK al valor especificado
     * @param idRol El identificador idRol de PermisorolPK
     */
    public void setIdRol(int idRol) {
        this.idRol = idRol;
    }
    /**
     * Obtiene el idPermiso de PermisorolPK
     * @return El idPermiso de PermisorolPK
     */
    public int getIdPermiso() {
        return idPermiso;
    }
    /**
     * Fija el identificador idPermiso de PermisorolPK al valor especificado
     * @param idPermiso El identificador idPermiso de PermisorolPK
     */
    public void setIdPermiso(int idPermiso) {
        this.idPermiso = idPermiso;
    }
    /**
     * Retorna un valor de Hash para el objeto.
     * Esta implementacion evalua un valor hash basado sobre los campos id en este objeto
     * @return Un valor de hash para este objeto
     */
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) idRol;
        hash += (int) idPermiso;
        return hash;
    }
    /**
     * Determina si otro objeto es igual a PermisorolPK. El resultado es
     * <code>true</code> si y solo si el argumento no es nulo y es un objeto PermisorolPK
     * que tiene el mismo valor del campo id en este objeto.
     * @param object La referencia objeto con el cual comparar
     * @return <code>true</code> Si este objeto es la misma que su argumento;
     * <code>false</code> si no lo es.
     */
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof PermisorolPK)) {
            return false;
        }
        PermisorolPK other = (PermisorolPK) object;
        if (this.idRol != other.idRol) {
            return false;
        }
        if (this.idPermiso != other.idPermiso) {
            return false;
        }
        return true;
    }
    /**
     * Retorna una representacion String de este objeto.  Esta implementacion This implementation construye
     * la representacion basada en los campos.
     * @return Una representacion String del objeto.
     */
    @Override
    public String toString() {
        return "entidades.PermisorolPK[idRol=" + idRol + ", idPermiso=" + idPermiso + "]";
    }

}
